// ==============================================================================================
// INavigationSupport.cs
//
// Created by: NI, 2007.03.29
// Revised by: NI, 2007.11.23
// ==============================================================================================
using System.Windows.Forms;

namespace RibbonExplorer
{
  // ==============================================================================================
  /// <summary>
  /// This interface represents the navigation services that can be called by an information panel.
  /// </summary>
  // ==============================================================================================
  public interface INavigationSupport
  {
    // --------------------------------------------------------------------------------------------
    /// <summary>
    /// Gest the images used by navigation services.
    /// </summary>
    /// <returns>List of images</returns>
    // --------------------------------------------------------------------------------------------
    ImageList GetNavigationImages();

    // --------------------------------------------------------------------------------------------
    /// <summary>
    /// Gets the navigation path for the specified tree node.
    /// </summary>
    /// <param name="node">Node to obtain the path for.</param>
    /// <returns>Navigation path.</returns>
    // --------------------------------------------------------------------------------------------
    TreeNode GetPath(TreeNode node);

    // --------------------------------------------------------------------------------------------
    /// <summary>
    /// Navigates to the specified tree node.
    /// </summary>
    /// <param name="node">Tree node to navigate to.</param>
    // --------------------------------------------------------------------------------------------
    void NavigateTo(TreeNode node);
  }
}
